package com.zmn.oms.model.dto.work.modify;

import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 默认服务项
 */
@Builder
@Data
public class ServiceItemResultDTO {

    /**
     * 服务项类型，目前仅支持两种类型： 1.工单服务项 2.故障服务项
     * 若值不等于2，则均作为值等于1处理
     * @see com.zmn.oms.common.constant.OrderConsts#SERVICE_ITEM_TYPE_ORDER
     * @see com.zmn.oms.common.constant.OrderConsts#SERVICE_ITEM_TYPE_FAULT
     */
    private Integer servItemType;

    /**
     * 服务项id
     */
    private Integer itemId;

    /**
     * 服务项名称
     */
    private String itemName;

    /**
     * 项目分类Id
     */
    private Integer itemCategId;

    /**
     * 项目分类名称
     */
    private String itemCategName;

    /**
     * 后台产品二级分类排序
     */
    private Integer categSort;

    /**
     * 服务项价格
     */
    private Integer price;

    /**
     * 内部价(单价)
     */
    private Integer internalSettlementPrice;

    /**
     * 外部价(单价)
     */
    private Integer externalSettlementPrice;

    /**
     * 一口价：1非一口价（可议价），2一口价
     */
    private Integer priceStandard;

    /**
     * 面议最高价格
     */
    private Integer negotiableMaxPrice;

    /**
     * 面议最高价格
     */
    private Integer negotiableMinPrice;

    /**
     * 价格表id
     */
    private Integer tariffId;

    @ApiModelProperty("单位：从Plat字典表中取")
    private String unit;

    @ApiModelProperty("最大数量")
    private Integer countLimit;

    @ApiModelProperty("是否允许修改价格：1否2是")
    private Integer manualPrice;

    @ApiModelProperty("前端价格显示：1否2是")
    private Integer showPrice;

    @ApiModelProperty("互斥性：1全局互斥，2局部互斥，3不互斥")
    private Integer mutexMode;

    @ApiModelProperty("是否包含明细：1否，2是")
    private Integer hasDetail;

    @ApiModelProperty("后台产品名称")
    private String productName;
    @ApiModelProperty("后台产品排序")
    private Integer productSort;
    @ApiModelProperty("是否默认服务项：1否，2是")
    private Integer general;

    /**
     * 附加项目字段
     */
    @ApiModelProperty("开始时间")
    private Date beginTime;
    /**
     * 附加项目字段
     */
    @ApiModelProperty("结束时间")
    private Date endTime;

    /**
     * 明细
     */
    private List<ServiceItemDetailResultDTO> detailResultDTOList;

    /**
     * 二级分类
     */
    private Integer categId;
}
